package com.ctshk.rpc.custom.dto.trip;

import com.ctshk.common.req.MainData;
import com.ctshk.rpc.custom.dto.insurance.TripScheduleInsuranceDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 团期详情dto
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-01-20
 */
@Data
@ApiModel(value="TripScheduleInfoDTO对象", description="团期详情dto")
public class TripScheduleBaseInfoDTO implements Serializable {

    @ApiModelProperty(value = "id")
    private Long id;
    @ApiModelProperty(value = "团号")
    private String tripNumber;
    @ApiModelProperty(value = "出境类型")
    private Integer departType;
    @ApiModelProperty(value = "询价单ID")
    private Long inquiryId;
    @ApiModelProperty(value = "询价单标题")
    private String inquiryTitle;
    @ApiModelProperty(value = "询价单号")
    private String inquiryNumber;
    @ApiModelProperty(value = "报价单ID")
    private Long quotationId;
    @ApiModelProperty(value = "报价单标题")
    private String quotationTitle;
    @ApiModelProperty(value = "报价单单号")
    private String quotationNumber;
    @ApiModelProperty(value = "大客户")
    private MainData bigClient;
    @ApiModelProperty(value = "团队状态")
    private Integer groupStatus;
    @ApiModelProperty(value = "行程名称")
    private String name;
    @ApiModelProperty(value = "行程副标题")
    private String subtitle;
    @ApiModelProperty(value = "旅游组别")
    private MainData tourType;
    @ApiModelProperty(value = "旅行团种类")
    private MainData groupType;
    @ApiModelProperty(value = "团队性质")
    private MainData groupNatureType;
    @ApiModelProperty(value = "目的地")
    private MainData destination;
    @ApiModelProperty(value = "出发地")
    private MainData departurePlace;
    @ApiModelProperty(value = "出发日期")
    private LocalDate departureDate;
    @ApiModelProperty(value = "出发日期星期几")
    private String departureWeekDay;
    @ApiModelProperty(value = "出行天数")
    private Integer travelDays;
    @ApiModelProperty(value = "含几晚")
    private Integer nightDays;
    @ApiModelProperty(value = "负责人员id")
    private Long chargePersonId;
    @ApiModelProperty(value = "负责人员工号")
    private String chargePersonNumber;
    @ApiModelProperty(value = "负责人姓名")
    private String chargePersonName;
    @ApiModelProperty(value = "OPid")
    private Long opId;
    @ApiModelProperty(value = "OP的员工号")
    private String opNumber;
    @ApiModelProperty(value = "OP姓名")
    private String opName;
    @ApiModelProperty(value = "是否需要保险")
    private Integer needInsurance;
    @ApiModelProperty(value = "是否需要签证")
    private Integer needVisa;
    @ApiModelProperty(value = "内部摘要")
    private String internalSummary;
    @ApiModelProperty(value = "接待须知")
    private String receptionInstructions;
    @ApiModelProperty(value = "顾客须知")
    private String customerRights;
    @ApiModelProperty(value = "门市通知")
    private String shopNotice;
    @ApiModelProperty(value = "最小定金")
    private BigDecimal minDeposit;
    @ApiModelProperty(value = "交余数天数")
    private Integer deliveryDays;
    @ApiModelProperty(value = "团队高级设置")
    private TripScheduleAdvancedDTO tripScheduleAdvanced;
    @ApiModelProperty(value = "保险计划")
    private List<TripScheduleInsuranceDTO> tripScheduleInsuranceList;
    @ApiModelProperty(value = "签证列表")
    private List<TripScheduleVisaDTO> tripScheduleVisaList;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime gmtCreate;

    @ApiModelProperty(value = "团期总费用")
    private BigDecimal totalFee;

    @ApiModelProperty(value = "团期总人数")
    private Integer totalPeople;

    @ApiModelProperty(value = "茶会主持人")
    private List<TeaPartyHostDTO> teaPartyHost;

    @ApiModelProperty(value = "茶会时间")
    private LocalDateTime teaPartyTime;

    @ApiModelProperty(value = "茶会房间")
    private String teaPartyRoom;

    @ApiModelProperty(value = "茶会地点名称")
    private String teaAddreass;

    @ApiModelProperty(value = "全陪用户姓名")
    private String guideName;

    @ApiModelProperty(value = "送团用户姓名")
    private String sendBackName;

}
